package day10;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Scanner;
import java.util.Set;

import org.junit.Test;

/**
 * Inna 喜欢吃糖和游戏糖果迷阵.今天，他推出了新游戏“糖果迷阵2：刷新”。
 * 游戏由一个nxm的矩阵表组成。矩阵每行包含一个带有侏儒的单元格和一块带有糖果的单元格，和一些空的单元格。游戏有多次操作，每次操作玩家需要选中所有那些侏儒没获得糖果的行，并发出指令“Let’s go!”.之后所有选中行的侏儒开始同时向右移动，每秒每个侏儒只能向当前单元格的右侧相邻单元格移动一格，操作一直持续到发生以下事件之一时：
 * ·一些侏儒到达所在行的最右边
 * ·一些侏儒到达糖果所在单元格获得糖果
 * 当所有侏儒得到糖果时结束
 * Inna是如此聪明得设计出这个游戏. 可是你们呢? 你的任务是用最优的方法来完成这个游戏，也就是用最少的操作来完成这个游戏。
 * @author chenxiaokang
 *
 */
public class Ques1434 {
	
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		out:while(scan.hasNext()){
			int n = scan.nextInt();
			int m = scan.nextInt();
			Set<Integer> set = new HashSet<>();
			List<String> strList = new ArrayList<String>();
			String str = "";
			int lenG = 0;
			int lenS = 0;
			for (int i = 0; i < n; i++) {
				str = scan.next();
				strList.add(str);
			}
			for(int i = 0;i < n;i++){
				str = strList.get(i);
				lenG = str.indexOf("G");
				lenS = str.indexOf("S");
				if(lenS < lenG){
					System.out.println(-1);
					continue out;
				}else{
					set.add(lenG - lenS);
				}
			}
			if(!set.isEmpty()){
				System.out.println(set.size());
			}
		}
	}
}
